﻿using UnityEngine;
using System.Collections;
using System.Collections.Generic;

/// <summary>
/// 地图信息(小关卡配置信息)
/// </summary>
public class MapInfo : MonoBehaviour
{
    [Tooltip("地图ID")]
    /// <summary>
    /// 地图ID  这里是指小地图
    /// </summary>
    public string MapID;
    /// <summary>
    /// 地图战斗类型
    /// </summary>
    public Def.FightingType FightingType;
    /// <summary>
    /// 闯关总时间
    /// </summary>
    public float MissionTimes;
    /// <summary>
    /// 角色出生点
    /// </summary>
    public GameObject RolePoint;
    public Vector3 RolePointVector;
    /// <summary>
    /// 地图的模型
    /// </summary>
    public GameObject MapStege;
    /// <summary>
    /// 边界顶层
    /// </summary>
    public GameObject SidePanel;

    /// <summary>
    /// 边界预设
    /// </summary>
    [HideInInspector]
    public GameObject SidePrefab;

    /// <summary>
    /// 边界
    /// </summary>
    public List<GameObject> SideList = new List<GameObject>();

    /// <summary>
    /// 怪物出生点顶层
    /// </summary>
    public GameObject MonsterPointPanel;
    /// <summary>
    /// 怪物出生组
    /// </summary>
    public List<Transform> MonsterPoints = new List<Transform>();
    /// <summary>
    /// 每一组怪的间隔时间
    /// </summary>
    public List<float> MonsterSpawnTime = new List<float>();
    /// <summary>
    /// 怪物出生点
    /// </summary>
    public List<Transform> MonsterGroupList = new List<Transform>();
    public List<int> monsterID = new List<int>();
    public List<int> monsterDropID = new List<int>();
    public List<GameObject> TriggerForMonsterSpwanGameObject = new List<GameObject>();
    /// <summary>
    /// 其他物品顶层
    /// </summary>
    public GameObject OtherGameObjcetPanel;
    /// <summary>
    /// 其他物品预设
    /// </summary>
    [HideInInspector]
    public GameObject OtherGameObjcetPrefab;
    /// <summary>
    /// 其他周边物品
    /// </summary>
    public List<GameObject> OtherGameObjectList = new List<GameObject>();

    /// <summary>
    /// 刷怪方式
    /// </summary>
    public Def.MonsterSpawnEnum MonsterSpawnType;
    /// <summary>
    /// 刷怪间隔时间
    /// </summary>
    public int MonsterSpawnInterval;
    /// <summary>
    /// 怪物数量上限
    /// </summary>
    public int MonsterSpawnMax;

    /// <summary>
    /// 其他物品类型
    /// </summary>
    public List<Def.GameObjectTypeEnum> OtherGameObjectType = new List<Def.GameObjectTypeEnum>();
    /// <summary>
    /// 触发点和边界绑定 关闭的门
    /// </summary>
    public List<GameObject> TriggerMonsterSpawnBingClose = new List<GameObject>();
    /// <summary>
    /// 触发点和边界绑定 打开的门
    /// </summary>
    public List<GameObject> TriggerMonsterSpawnBingOpen = new List<GameObject>();
    /// <summary>
    /// 摄像机位置
    /// </summary>
    public GameObject CameraPoint;
    /// <summary>
    /// 守护物品
    /// </summary>
    public GameObject ProtectObjcet;
    public int ProtectObjectHp;
    /// <summary>
    /// 防止小怪进入的物品
    /// </summary>
    public GameObject UnMoveObjcet;
    public int UnMoveObjcetCounts;
    public Transform BossTargertPositon;
    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

    }
}
